ci(nix): build PRs that touch the PipeWire and whisper sources, and assert the libEGL rpath - #657
Draft
EtienneLescot wants to merge 1 commit into
Draft
EtienneLescot wants to merge 1 commit into
EtienneLescot wants to merge 1 commit into
Conversation
…ssert the libEGL rpath The pull_request path filter missed sources the derivations read: nix/pipewire-helper.nix builds electron/native/pipewire-capture, nix/whisper-stt.nix builds electron/native/whisper-stt, and nix/package.nix runs vite build and copies public/wallpapers unguarded. No other workflow compiles the PipeWire crate, so #386 and #514 changed it and merged with no nix build on the PR. The dlopen RPATH assertion covered libpipewire but not libEGL.so.1, which csrc/dmabuf_modifiers.c loads at runtime through the libglvnd entry. ubuntu-latest's system libEGL would satisfy that dlopen anyway, so losing the entry went unnoticed.
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two gaps in
nix-build.yml, both found while working #533 and #531.pull_requestpath filter misses sources the derivations read.nix/pipewire-helper.nixbuildselectron/native/pipewire-capture,nix/whisper-stt.nixbuildselectron/native/whisper-stt, andnix/package.nixrunsnpx vite buildand copiespublic/wallpapersunguarded. No other workflow compiles the PipeWire crate, so fix(linux): validate mapped DMA-BUF frames #386 and fix(capture-linux): measure the cursor against the window, not its mo… #514 changed it and merged with no nix build on the PR. This adds those four paths, and drops the header comment that still says the workflow is "deliberately not on every pull request yet".csrc/dmabuf_modifiers.cloadslibEGL.so.1at runtime, andnix/pipewire-helper.nixadds libglvnd to the helper's RPATH for it. Nothing checked that entry, and ubuntu-latest's system libEGL would satisfy the dlopen anyway, so losing it would go unnoticed. This adds the samecheck_dlopen_rpathassertion already used for libpipewire.Related issue
Fixes #533
Refs #531
Type of change
Release impact
Desktop impact
Testing
nix build .#pipewire-helperof main (fedf576) under Nix in WSL: exit 0, the helper's DT_RPATH ends with/nix/store/…-libglvnd-1.7.0/lib, and a probe binary built with that exact RPATH resolvesdlopen("libEGL.so.1")to the libglvnd store path.nix-build.yml, which is in its own path filter, so the workflow runs on it. That run is the first real exercise of the new assertion.src/andelectron/, which the push to main covers, so a PR that breaks the smoke test from application code will still only show it on main.🤖 Generated with Claude Code